package Entidades;


public enum EnumCategoria implements ICategoria{
	
	CATEGORIA1 {
		private int valorInferior = 1000;
		private int valorMediano = 1800;
		private int valorSuperior = 2000;
		private double multiploValorInferior = 0.1;
		private double multiploValorMediano = 0.15;
		private double multiploValorSuperior = 0.2;
		private int valorSuperiorFaixaInferior = 1000;
		private int valorSuperiorFaixaMediana = 800;
		private int valorSuperiorFaixaSuperior = 200;
		
		private double calculaPorcentagem(double valorVenda, double multiplo){
			return valorVenda*multiplo;
		}
		
		private double calculaComissaoValorSuperior(){
			double valorVenda = valorSuperiorFaixaInferior*multiploValorInferior;
			valorVenda += valorSuperiorFaixaMediana*multiploValorMediano;
			valorVenda += valorSuperiorFaixaSuperior*multiploValorSuperior;
			return valorVenda;
		}
		
        @Override
        public double calcularComissao(double valorVenda) {
        	if(valorVenda <= valorInferior){
        		valorVenda = calculaPorcentagem(valorVenda,multiploValorInferior);
			}
        	
			if(valorVenda <= valorMediano){
				valorVenda = calculaPorcentagem(valorVenda,multiploValorMediano);
			}
			
			if(valorVenda > valorMediano){
				if(valorVenda == valorSuperior){
					valorVenda = calculaComissaoValorSuperior();
				}else{
					valorVenda = calculaPorcentagem(valorVenda,multiploValorSuperior);
				}
			}
        	return valorVenda;                    
        }
    },
    CATEGORIA2 {
		private int valorInferior = 2000;
		private int valorSuperior = 4000;
		private double multiploValorInferior = 0.1;
		private double multiploValorMediano = 0.2;
		private double multiploValorSuperior = 0.3;
		
		private double calculaPorcentagem(double valorVenda, double multiplo){
			return valorVenda*multiplo;
		}
		
        @Override
        public double calcularComissao(double valorVenda) {
        	if(valorVenda <= valorInferior){
        		valorVenda = calculaPorcentagem(valorVenda,multiploValorInferior);
			}
			
        	if(valorVenda < valorSuperior){
				valorVenda = calculaPorcentagem(valorVenda,multiploValorMediano);
        	}
				
			if(valorVenda > valorSuperior){
				valorVenda = calculaPorcentagem(valorVenda,multiploValorSuperior);
			}
        	return valorVenda;                        
        }
    };  

}
